/*************************************************************************
	> File Name: udp_epoll.h
	> Author: Maureen 
	> Mail: 1437867946@qq.com 
	> Created Time: Wed 12 May 2021 05:35:11 PM CST
 ************************************************************************/

#ifndef _UDP_EPOLL_H
#define _UDP_EPOLL_H

extern int port;
extern struct User *rteam;
extern struct User *bteam;
extern int repollfd, bepollfd;

void add_event(int epollfd, int fd, int events);
void add_event_ptr(int epollfd, int fd, int events, struct User *user);
void del_event(int epollfd, int fd);
int udp_connect(int epollfd, struct sockaddr_in *serveraddr); //借助epollfd，连接到serveraddr
int udp_accept(int epollfd, int fd, struct User *user);//从fd中收数据，收到的数据放到user中，最终注册到epollfd中
//使用udp是为了模拟TCP的一些特性，建立了一种伪连接的状态。
//伪连接的意思：
//原先TCP可以给任何人发数据，可以接收任何人的数据，但是现在只能收你的数据，只能给你发，表示与其他人没有关系，只属于你，你也只属于我。
//这样服务端和客户端就成对了，服务端知道客户端是谁，客户端知道服务端是谁。
void add_to_sub_reactor(struct User *user);

#endif
